package kr.ac.kaist.idb.csnql.clause;

import java.io.Serializable;
import java.util.*;

/**
 * @brief Domain class to store/deliver (partial) results
 * @author Jongheon Park (korex527@kaist.ac.kr)
 *
 */
public class SensingData implements Serializable{
	/**
	 * @brief Serial version UID which is automatically generated
	 */
	private static final long serialVersionUID = -395617725877211017L;
	/**
	 * @brief Query ID
	 */
	String queryID;
	/**
	 * @brief Sensor ID
	 */
	String sensorID;
	/**
	 * @brief Sensing Timestamp
	 */
	String timestamp;
	/**
	 * @brief Sensed Attribute List
	 */
	Vector<Object> attribute;
	/**
	 * @brief Sensed Value 
	 */
	Vector<Object> value;
	
	public SensingData(){
		attribute = new Vector<Object>();
		value = new Vector<Object>();
		queryID = new String();
		sensorID = new String();
		timestamp = new String();
	}
	
	/**
	 * @return the query id
	 * @brief Get the query id
	 */
	public String getQueryID() {
		return queryID;
	}
	
	/**
	 * @param queryID New query id
	 * @brief Set the query id
	 */
	public void setQueryID(String queryID) {
		this.queryID = queryID;
	}
	
	/**
	 * @return the sensor id
	 * @brief Get the sensor id
	 */
	public String getSensorID() {
		return sensorID;
	}
	
	/**
	 * @param sensorID New sensor id
	 * @brief Set the sensor id
	 */
	public void setSensorID(String sensorID) {
		this.sensorID = sensorID;
	}
	
	/**
	 * @return the attribute
	 * @brief Get the attribute
	 */
	public Vector<Object> getAttribute() {
		return attribute;
	}
	
	/**
	 * @param attribute New attribute
	 * @brief Set the attribute
	 */
	public void setAttribute(Vector<Object> attribute) {
		this.attribute = attribute;
	}
	
	/**
	 * @return the timestamp
	 * @brief Get the timestamp
	 */
	public String getTimestamp() {
		return timestamp;
	}
	
	/**
	 * @return the value
	 * @brief Get the value
	 */
	public Vector<Object> getValue() {
		return value;
	}
	
	/**
	 * @param value New value
	 * @brief Set the value
	 */
	public void setValue(Vector<Object> value) {
		this.value = value;
	}
	
	/**
	 * @param string New timestamp
	 * @brief Set the timestamp
	 */
	public void setTimestamp(String string) {
		// TODO Auto-generated method stub
		this.timestamp = string;
	}
}
